package com.wing.order.model.request;

import com.wing.order.model.entity.InventoryInoutJob;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 出/入库作业单记录Form
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class InventoryInoutJobForm {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 入库作业单编号
     */
    private String code;

    /**
     * 入库计划单编号
     */
    private String planCode;

    /**
     * 产品SKU id
     */
    private Long skuId;

    /**
     * 产品SKU编号
     */
    private String skuCode;

    /**
     * 产品编号
     */
    private String productCode;

    /**
     * 产品类型
     */
    private String productType;

    /**
     * 入库类型
     */
    private InventoryInoutJob.StorageType storageType;

    /**
     * 单位名称
     */
    private String unitName;

    /**
     * 产品单位id
     */
    private Long unitId;

    /**
     * 入库数量
     */
    private Long quantity;

    /**
     * 仓库
     */
    private Long warehouseId;

    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 状态
     */
    private InventoryInoutJob.Status status;

    /**
     * 入库计划编号
     */
    private String storagePlanCode;

    /**
     * 出/入库计划id
     */
    private Long planId;

    /**
     * 签收数量
     */
    private Long signQuantity;

    /**
     * 入库签收人id
     */
    private Long signPeopleId;

    /**
     * 入库签收人名称id
     */
    private String signPeopleName;

    /**
     * 入库签收工位id
     */
    private Long signStationId;

    /**
     * 入库签收工位
     */
    private String signStationName;

    /**
     * 入库单id
     */
    private Long inventoryInoutId;

    /**
     * 出入库类型
     */
    private InventoryInoutJob.InoutType inoutType;

    /**
     * 序号
     */
    private Integer no;
    private Long productTypeId;

    public interface Add{}

    public interface Update{}

    /**
     * 出入库类型code
     */
    private String inoutTypeCode;
    /**
     * 入库类型名称
     */
    private String inoutTypeName;
}
